In today's complex computer systems, a variety of different components are provided such that a given system can have many different components that interact with each other. Furthermore, many computer systems are adapted for specialized workload processing, such as server computers that are adapted to perform given business processing tasks. Processors such as central processing units (CPUs) within these systems can have various features that are enabled or disabled via configuration settings of the processor.
In many computer platforms, a number of performance-sensitive processor and platform-specific settings are exposed as basic input/output system (BIOS) settings. Examples are hardware prefetch, second sector (i.e., adjacent sector) prefetch, snoop filter, high-bandwidth memory option, hyper-threading, among others. These settings, or knobs, have default settings according to validation benchmarking. Default settings are enforced by the BIOS on system boot, and are not changed without an update to the BIOS. A limited set of workloads is used to determine default settings and, therefore in many cases certain critical workloads suffer a performance penalty due to a configuration that does not suit them.